import requests
import json

# 模拟API调用的客户端脚本

def test_execute_api():
    # 服务器URL（假设服务器运行在本地8080端口）
    url = "http://localhost:8080/api/execute"

    # 请求参数
    payload = {
        "user": "testuser",  # 目标用户
        "script": "echo $HOME && echo $PATH && whoami",  # 要执行的脚本
        "timeout": 10  # 超时时间（可选）
    }

    try:
        # 发送POST请求
        response = requests.post(url, json=payload, timeout=15)

        # 检查响应状态码
        if response.status_code == 200:
            # 解析响应数据
            result = response.json()
            print("=== API调用结果 ===")
            print(f"状态: {result.get('status')}")
            print(f"输出: {result.get('output')}")
            print(f"错误: {result.get('error')}")
            print(f"执行时间: {result.get('execution_time')}秒")
        else:
            print(f"API调用失败，状态码: {response.status_code}")
            print(f"响应内容: {response.text}")

    except requests.exceptions.RequestException as e:
        print(f"请求异常: {e}")

def main():
    print("开始模拟API调用...")
    print("注意：此脚本需要服务器正在运行才能正常工作。")
    print("在Linux环境中，可以使用以下命令启动服务器：")
    print("sudo cargo run --release")
    test_execute_api()
    print("API调用模拟完成。")

if __name__ == "__main__":
    main()

# 预期输出（当服务器正常运行时）:
# === API调用结果 ===
# 状态: success
# 输出: /home/testuser
# /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# testuser
# 错误: 
# 执行时间: 0.5秒